package com.hehe.conversion.hehemiddleware.model.resp.bill;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.util.List;

@Data
public class NonTaxIncomeBillDetails {
    @JsonProperty("bill_code")
    private String billCode; // 缴款书编号

    @JsonProperty("bill_number")
    private String billNumber; // 缴款书号码

    @JsonProperty("block_chain")
    private String blockChain; // 区块链信息

    @JsonProperty("check_code")
    private String checkCode; // 校验码

    @JsonProperty("checker")
    private String checker; // 审核人

    @JsonProperty("date")
    private String date; // 日期

    @JsonProperty("electronic_mark")
    private String electronicMark; // 电子标记

    @JsonProperty("handler")
    private String handler; // 经手人

    @JsonProperty("items")
    private List<Item> items; // 缴款项目列表

    @JsonProperty("kind")
    private String kind; // 缴款书类型

    @JsonProperty("other_info")
    private String otherInfo; // 其他信息

    @JsonProperty("payee")
    private String payee; // 收款单位

    @JsonProperty("payee_code")
    private String payeeCode; // 收款单位代码

    @JsonProperty("payer")
    private String payer; // 缴款人/单位

    @JsonProperty("payer_account_number")
    private String payerAccountNumber; // 缴款人账号

    @JsonProperty("payer_account_opening_bank")
    private String payerAccountOpeningBank; // 缴款人开户银行

    @JsonProperty("payment_code")
    private String paymentCode; // 缴款代码

    @JsonProperty("receiver")
    private String receiver; // 实际接收单位

    @JsonProperty("receiver_account_number")
    private String receiverAccountNumber; // 接收单位账号

    @JsonProperty("receiver_account_opening_bank")
    private String receiverAccountOpeningBank; // 接收单位开户银行

    @JsonProperty("social_credit_code")
    private String socialCreditCode; // 社会信用代码

    @JsonProperty("title")
    private String title; // 缴款书标题

    @JsonProperty("total")
    private String total; // 总金额

    @JsonProperty("total_words")
    private String totalWords; // 总金额（大写）

    @Data
    public static class Item {
        @JsonProperty("amount")
        private String amount; // 金额

        @JsonProperty("comment")
        private String comment; // 备注

        @JsonProperty("project_code")
        private String projectCode; // 项目代码

        @JsonProperty("project_name")
        private String projectName; // 项目名称

        @JsonProperty("quantity")
        private String quantity; // 数量

        @JsonProperty("standard_of_charge")
        private String standardOfCharge; // 收费标准

        @JsonProperty("uom")
        private String uom; // 计量单位
        // Getters and Setters
    }

}
